package com.yang.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yang.domain.entity.Blog;
import com.yang.domain.entity.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author yang
 * @since 2022-10-22
 */

public interface BlogMapper extends BaseMapper<Blog> {
    /**
     * 修改博客点赞数量
     * @param id 博客id
     * @param liked 修改的数量
     * @return 修改结果
     */
    boolean setLikeds(@Param("id") Long id, @Param("like") int liked);

    /**
     * 根据点赞量分页查询博客
     * @param current 第几页
     * @param pageSize 一页几行数据
     * @return 分页博客结果集
     */
    List<Blog> pageFindAll(@Param("current") Integer current,@Param("pageSize") int pageSize);

    /**
     * 根据用户id分页查询他的博客
     * @param current 第几页
     * @param userId 用户id
     * @param pageSize 一页几行数据
     * @return 分页博客结果集
     */
    List<Blog> queryBlogPages(@Param("current")  Integer current,
                              @Param("userId")   Long userId,
                              @Param("pageSize") Integer pageSize);


    /**
     * 查询所有博客的id
     * @return 博客的id
     */
    List<Long> selectAllBlogIds();

    /**
     * 根据博客id查询博客点赞数量
     * @param blogId 博客id
     * @return 博客点赞数量
     */
    void updateLikeById(@Param("blogId") String blogId, @Param("likeCount") Integer likeCount);

    /**
     * 根据博客id查询点赞量
     * @param blogId 博客id
     * @return 点赞量
     */
    int selectLikeById(@Param("blogId") Long blogId);




}
